package com.sikao.app.net;

import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;

import java.io.IOException;

public abstract class FileDownloadCallback<T> {



    public abstract  void onFailure(Request request, Exception e) ;

    /**
     *
     * 下载完成时调用此方法
     * @param t
     * @throws IOException
     */
    public abstract void onSuccess(T t) ;

    /**
     * 得知文件总大小
     * @param allLength 文件的总大小
     */
    public abstract void onAllSize(long allLength) ;

    /**
     * 进度更新
     * @param length 已下载部分的大小
     */
    public abstract void onUpdateProgress(long length) ;

    /**
     * 状态码400，404，403，500等时调用此方法
     * @param response
     * @param code
     * @param e
     */
    public abstract void onError(Response response, int code, Exception e) ;

}